@全局类
类 用户登录 : 窗口

	@布局配置([[根布局=真,宽度=-1,高度=-1,背景颜色=-1]])
	变量 相对布局1 : 相对布局
	@布局配置([[父布局=相对布局1,宽度=-1,高度DP=200,ID=2]])
	变量 线性布局1 : 线性布局
	@布局配置([[父布局=线性布局1,宽度=-1,高度=-1,图片资源="../yhdl.png",ID=0]])
	变量 图片框1 : 图片框
	@布局配置([[父布局=相对布局1,@位于某组件之下=2,宽度=-1,高度=-1,对齐方式=49,纵向布局=真,@上外边距DP=30]])
	变量 线性布局2 : 线性布局
	@布局配置([[父布局=线性布局2,内容="Hi，开发者！欢迎登录",对齐方式=17,字体颜色=-16711680,粗体=真,字体大小=25]])
	变量 文本框2 : 文本框
	@布局配置([[父布局=线性布局2,内容="没有账号?去注册",对齐方式=17,字体颜色=-16730625,粗体=真,字体大小=12]])
	变量 文本框3 : 文本框
	@布局配置([[父布局=线性布局2,宽度DP=250,高度DP=50,圆角=20,卡片阴影=0,卡片背景颜色=15921910,背景颜色=-855306,@上外边距=30]])
	变量 卡片布局1 : 卡片布局
	@布局配置([[父布局=卡片布局1,宽度=-1,高度=-1,对齐方式=17]])
	变量 线性布局3 : 线性布局
	@布局配置([[父布局=线性布局3,提示文本颜色=-3750202,对齐方式=17,粗体=假,提示文本="请输入账号",字体颜色=-16777216,显示行数=1,内容="",宽度=-1,高度=-1,输入方式=2,背景颜色=16777215,显示光标=假]])
	@静态
	变量 编辑框1 : 编辑框
	@布局配置([[父布局=线性布局2,宽度DP=250,高度DP=50,圆角=20,卡片阴影=0,卡片背景颜色=15921910,背景颜色=-855306,@上外边距DP=20]])
	变量 卡片布局2 : 卡片布局
	@布局配置([[父布局=卡片布局2,宽度=-1,高度=-1,对齐方式=17]])
	变量 线性布局4 : 线性布局
	@布局配置([[父布局=线性布局4,提示文本颜色=-3750202,对齐方式=17,粗体=真,提示文本="请输入密码",字体颜色=-16777216,显示行数=1,内容="",宽度=-1,高度=-1,密码输入=真,背景颜色=16777215,显示光标=假]])
	变量 编辑框2 : 编辑框
	@布局配置([[父布局=线性布局2,内容="记住密码",粗体=真,字体大小=15,@左外边距DP=40,@上外边距DP=10]])
	变量 多选框1 : 多选框
	@布局配置([[父布局=线性布局2,内容="登录",宽度DP=200,高度DP=50,水波纹效果=真,@上外边距DP=20]])
	变量 按钮1 : 按钮

	变量 等待框1:DX加载
	事件 用户登录:创建完毕()
		订阅事件()
		本对象.显示标题栏 = 假
		共享数据.初始化(本对象,"数据")
		编辑框1.内容 = 共享数据.取文本("账号")
		编辑框2.内容 = 共享数据.取文本("密码")
		多选框1.选中 = 共享数据.取逻辑值("记住密码")
		组件样式操作.置圆角边框2(按钮1,5,0xFF3399FF,80)
		组件样式操作.置圆角背景边框(编辑框1,0xF0FFFFFF,5,0xFF3399FF,20,20,20,20)
		组件样式操作.置圆角背景边框(编辑框2,0xF0FFFFFF,5,0xFF3399FF,20,20,20,20)
	结束 事件



	//用户在组件上单击事件
	事件 按钮1:被单击()
		用户登录方法()
		等待框1.内容("正在登录...")
	    等待框1.显示()
		如果 多选框1.选中 == 真 则
			共享数据.置文本("账号",编辑框1.内容)
			共享数据.置文本("密码",编辑框2.内容)
		结束 如果
	结束 事件

	//用户在组件上单击事件
	事件 文本框3:被单击()
		切换窗口(用户注册)
		播放默认切换动画(淡入淡出)
	结束 事件


	方法 用户登录方法()
		变量 登录 : Oks异步
		登录.请求链接(全局变量.url+"user.php")
		登录.添请求参数("action","login")
		登录.添请求参数("account",编辑框1.内容)
		登录.添请求参数("password",编辑框2.内容)
		登录.缓存报文(真)
		登录.回调主线程(真)
		登录.POST()
		事件 登录:请求异常(异常 : 异常)
			//如果不写在断网情况下点击会闪退
		结束 事件
		事件 登录 : 请求成功(结果 : Oks结果)
			变量 根对象 : JSON对象 = 结果.到文本()
			变量 _code : 整数 = 根对象["code"]
			变量 message : 文本 = 根对象["message"]
			如果 根对象["message"].到文本() == "已登录"
				变量 data : JSON对象 = 根对象["data"]
				变量 user_id : 整数 = data["user_id"]
				提交到新线程运行()
				延时(1200)
				等待框1.类型(DX加载.类型_成功)
				等待框1.内容("登录成功")
				延时(1500)
				等待框1.关闭()
				切换窗口(主页面)
				播放默认切换动画(淡入淡出)
				关闭窗口()
				结束提交到新线程()
			否则
				如果 编辑框1.内容.为空() 或 编辑框2.内容.为空()
					显示加载警告("账号或密码不能为空")
				结束 如果
				如果 根对象["message"].到文本() == "会员到期，请充值"
					提交到新线程运行()
					延时(1200)
					显示加载警告("会员已到期")
					延时(1500)
					等待框1.关闭()
					结束提交到新线程()
				结束 如果
			结束 如果

		结束 事件

	结束 方法

	事件 多选框1:选中状态改变(选中 : 逻辑型)
		如果 选中 则
			共享数据.置逻辑值("记住密码",真)
		否则
			共享数据.置逻辑值("记住密码",假)
		结束 如果
	结束 事件
	变量 上次返回:长整数 = 0
	@虚拟方法
	方法 返回键被按下()
		如果 (取当前时间戳() - 上次返回) < 2000
			关闭程序()
		否则
			弹出警告提示("再按一次退出！")
			上次返回 = 取当前时间戳()
		结束 如果
	结束 方法


结束 类